Class java.util.Hashtable
All Packages Class Hierarchy This Package Previous Next Index
Class java.util.Hashtable
Object
|
+----Dictionary
|
+----java.util.Hashtable
- public class Hashtable
- extends Dictionary
- implements Cloneable, Serializable
This class implements a hashtable, which maps keys to values. Any
non-null
object can be used as a key or as a value.
To successfully store and retrieve objects from a hashtable, the
objects used as keys must implement the hashCode
method and the equals
method.
An instance of Hashtable
has two parameters that
affect its efficiency: its capacity and its load
factor. The load factor should be between 0.0 and 1.0. When
the number of entries in the hashtable exceeds the product of the
load factor and the current capacity, the capacity is increased by
calling the rehash
method. Larger load factors use
memory more efficiently, at the expense of larger expected time
per lookup.
If many entries are to be made into a Hashtable
,
creating it with a sufficiently large capacity may allow the
entries to be inserted more efficiently than letting it perform
automatic rehashing as needed to grow the table.
This example creates a hashtable of numbers. It uses the names of
the numbers as keys:
Hashtable numbers = new Hashtable();
numbers.put("one", new Integer(1));
numbers.put("two", new Integer(2));
numbers.put("three", new Integer(3));
To retrieve a number, use the following code:
Integer n = (Integer)numbers.get("two");
if (n != null) {
System.out.println("two = " + n);
}
- Version:
- 1.42, 07/01/98
- Author:
- Arthur van Hoff
- Since:
- JDK1.0
- See Also:
- equals(java.lang.Object), hashCode(), rehash()
-
java.util.Hashtable(int, float)
- Constructs a new, empty hashtable with the specified initial
capacity and the specified load factor.
-
java.util.Hashtable(int)
- Constructs a new, empty hashtable with the specified initial capacity
and default load factor.
-
java.util.Hashtable()
- Constructs a new, empty hashtable with a default capacity and load
factor.
-
clear()
- Clears this hashtable so that it contains no keys.
-
clone()
- Creates a shallow copy of this hashtable.
-
contains(Object)
- Tests if some key maps into the specified value in this hashtable.
-
containsKey(Object)
- Tests if the specified object is a key in this hashtable.
-
elements()
- Returns an enumeration of the values in this hashtable.
-
get(Object)
- Returns the value to which the specified key is mapped in this hashtable.
-
isEmpty()
- Tests if this hashtable maps no keys to values.
-
keys()
- Returns an enumeration of the keys in this hashtable.
-
put(Object, Object)
- Maps the specified
key
to the specified
value
in this hashtable.
-
rehash()
- Rehashes the contents of the hashtable into a hashtable with a
larger capacity.
-
remove(Object)
- Removes the key (and its corresponding value) from this
hashtable.
-
size()
- Returns the number of keys in this hashtable.
-
toString()
- Returns a rather long string representation of this hashtable.
Hashtable
public Hashtable(int initialCapacity,
float loadFactor)
- Constructs a new, empty hashtable with the specified initial
capacity and the specified load factor.
- Parameters:
- initialCapacity - the initial capacity of the hashtable.
- loadFactor - a number between 0.0 and 1.0.
- Throws: IllegalArgumentException
- if the initial capacity is less
than or equal to zero, or if the load factor is less than
or equal to zero.
- Since:
- JDK1.0
Hashtable
public Hashtable(int initialCapacity)
- Constructs a new, empty hashtable with the specified initial capacity
and default load factor.
- Parameters:
- initialCapacity - the initial capacity of the hashtable.
- Since:
- JDK1.0
Hashtable
public Hashtable()
- Constructs a new, empty hashtable with a default capacity and load
factor.
- Since:
- JDK1.0
clear
public synchronized void clear()
- Clears this hashtable so that it contains no keys.
- Since:
- JDK1.0
clone
public synchronized java.lang.Object clone()
- Creates a shallow copy of this hashtable. The keys and values
themselves are not cloned.
This is a relatively expensive operation.
- Returns:
- a clone of the hashtable.
- Overrides:
- clone in class Object
- Since:
- JDK1.0
contains
public synchronized boolean contains(Object value)
- Tests if some key maps into the specified value in this hashtable.
This operation is more expensive than the
containsKey
method.
- Parameters:
- value - a value to search for.
- Returns:
-
true
if some key maps to the
value
argument in this hashtable;
false
otherwise.
- Throws: NullPointerException
- if the value is
null
.
- Since:
- JDK1.0
- See Also:
- containsKey(java.lang.Object)
containsKey
public synchronized boolean containsKey(Object key)
- Tests if the specified object is a key in this hashtable.
- Parameters:
- key - possible key.
- Returns:
-
true
if the specified object is a key in this
hashtable; false
otherwise.
- Since:
- JDK1.0
- See Also:
- contains(java.lang.Object)
elements
public synchronized java.util.Enumeration elements()
- Returns an enumeration of the values in this hashtable.
Use the Enumeration methods on the returned object to fetch the elements
sequentially.
- Returns:
- an enumeration of the values in this hashtable.
- Overrides:
- elements in class Dictionary
- Since:
- JDK1.0
- See Also:
- Enumeration, keys()
get
public synchronized java.lang.Object get(Object key)
- Returns the value to which the specified key is mapped in this hashtable.
- Parameters:
- key - a key in the hashtable.
- Returns:
- the value to which the key is mapped in this hashtable;
null
if the key is not mapped to any value in
this hashtable.
- Overrides:
- get in class Dictionary
- Since:
- JDK1.0
- See Also:
- put(java.lang.Object, java.lang.Object)
isEmpty
public boolean isEmpty()
- Tests if this hashtable maps no keys to values.
- Returns:
-
true
if this hashtable maps no keys to values;
false
otherwise.
- Overrides:
- isEmpty in class Dictionary
- Since:
- JDK1.0
keys
public synchronized java.util.Enumeration keys()
- Returns an enumeration of the keys in this hashtable.
- Returns:
- an enumeration of the keys in this hashtable.
- Overrides:
- keys in class Dictionary
- Since:
- JDK1.0
- See Also:
- Enumeration, elements()
put
public synchronized java.lang.Object put(Object key,
Object value)
- Maps the specified
key
to the specified
value
in this hashtable. Neither the key nor the
value can be null
.
The value can be retrieved by calling the get
method
with a key that is equal to the original key.
- Parameters:
- key - the hashtable key.
- value - the value.
- Returns:
- the previous value of the specified key in this hashtable,
or
null
if it did not have one.
- Throws: NullPointerException
- if the key or value is
null
.
- Overrides:
- put in class Dictionary
- Since:
- JDK1.0
- See Also:
- equals(java.lang.Object), get(java.lang.Object)
rehash
protected void rehash()
- Rehashes the contents of the hashtable into a hashtable with a
larger capacity. This method is called automatically when the
number of keys in the hashtable exceeds this hashtable's capacity
and load factor.
- Since:
- JDK1.0
remove
public synchronized java.lang.Object remove(Object key)
- Removes the key (and its corresponding value) from this
hashtable. This method does nothing if the key is not in the hashtable.
- Parameters:
- key - the key that needs to be removed.
- Returns:
- the value to which the key had been mapped in this hashtable,
or
null
if the key did not have a mapping.
- Overrides:
- remove in class Dictionary
- Since:
- JDK1.0
size
public int size()
- Returns the number of keys in this hashtable.
- Returns:
- the number of keys in this hashtable.
- Overrides:
- size in class Dictionary
- Since:
- JDK1.0
toString
public synchronized java.lang.String toString()
- Returns a rather long string representation of this hashtable.
- Returns:
- a string representation of this hashtable.
- Overrides:
- toString in class Object
- Since:
- JDK1.0
All Packages Class Hierarchy This Package Previous Next Index